package mementoPattern;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
 * 管理器：管理和维护备忘录对象
 */
public class History{

    private List<Memento> mementos = new ArrayList<>();

    public void push(Memento memento){
        mementos.add(memento);
    }

    // 维护一个栈结构，对历史版本进行顺序存取
    public Memento pop(){
        int index = mementos.size() - 1; // 栈顶指针
        Memento memento = mementos.get(index);
        return mementos.remove(index);
    }

    public boolean hasNext(){
        return mementos.iterator().hasNext();
    }

}
